#pragma once
#include <iostream>
#include <unistd.h>
#include <sys/socket.h>
#include <string>
#include "Protocol.hpp"
class CallBack
{
public:
    CallBack()
    {

    }
    void operator()(int sock)
    {
        //回调函数；
        Handler(sock);
    }
     void Handler(int sock)
    {
       
        // delete args;
        // //用于测试；
        // char buff[4096];
        // int n = recv(*sock,buff,sizeof(buff),0);
        // std::cout<<"----------------"<<std::endl;
        // std::cout<<buff<<std::endl;
        // std::cout<<"----------------"<<std::endl;
        // std::string out;
        // getHttpLine(*sock,out);
        // std::cout<<out<<std::endl;
        // return nullptr;
        EndPoint ep(sock);
        ep.recvHttpRequest();
        if (!ep.IsStop())
        {
            std::cout << "recv success" << std::endl;
            ep.buildHttpResponse();
            ep.SendHttpResponse();
        }
        else
        {
            std::cout<<"recv error"<<std::endl;
        }
    }
};